<?php
namespace app\admin\controller;
use app\model\AdminModel;
use think\facade\Request;
use think\facade\Validate;
use think\facade\View;

class Admin  {
    //登录
    public function admin_list(){
        return View::fetch();
    }

    public function reg(){
        $admin = Request::param();
        $validate = Validate::rule([
            'admin_mail|邮箱' => 'require|min:8|max:20',
            'admin_password|密码' => 'require|min:6|max:20',
            'img|验证码' => 'require|min:4|max:6'
        ]);
        $check = $validate->check($admin);
        if(!$check){
            echo $validate->getError();
            echo "<a href='index.php?s=admin/admin/admin_list'>返回登录</a>";
        }
        $name = AdminModel::where('admin_mail',$admin['admin_mail'])->find();
        session_start();
        if($name){
            $verify = password_verify($admin['admin_password'],$name['admin_password']);

            if($name['admin_mail']==$admin['admin_mail'] && $verify && stristr( implode($_SESSION['array']),$admin['img'])){
                session('admin_name',$name['admin_name']);
                echo "<a href='index.php?s=admin/category/category_list'>操作成功，进入首页</a>";

            }else{
                echo "<a href='index.php?s=admin/admin/admin_list'>邮箱跟密码不匹配，返回登录</a>";

            }
        }else{
            echo "<a href='index.php?s=admin/admin/admin_list'>邮箱错误，或没有该用户，请先注册</a>";
        }

    }


    public function img(){
        //登录验证码图片
        session_start();
        //创建一张图片，并设置长宽（返回一个图像的资源句柄（resource））；
        $image = imagecreate(85,45);

        //为图片分配颜色（就是设置图片的背景色）
        $color = imagecolorallocate($image,210,210,210);


        //随机在图片上显示4个随机数
        $chars = '123456789';

        for($i = 1;$i<=4;$i++){
            $fontcolor = imagecolorallocate($image,mt_rand(1,210),mt_rand(1,210),mt_rand(1,210));
            //随机取到0到58的随机数
            $random = mt_rand(0,8);
            //    $arr[]=$random;
            $array[] = $chars[$random];

            $y = mt_rand(17, 22);
            //将字符串画到图片上
            imagestring($image,20,16*$i,mt_rand(17,22),$chars[$random],$fontcolor);
        }
        //画干扰点
        for($i=1;$i<=200;$i++){
            imagesetpixel($image,mt_rand(0,90),mt_rand(0,50),mt_rand(1,255));
        }
        //设置干扰线
        for($i=1;$i<=4;$i++){
            imageline($image,mt_rand(1,90),mt_rand(1,30),mt_rand(1,90),mt_rand(1,30),mt_rand(5,250));
        }
        $_SESSION['array'] = $array;
        //$_SESSION['arr6']=$chars[$arr[5]];

        //header：发送一个请求给服务器，服务器就返回一个响应给客户端。
        //Content-Type：指定响应的http内容类型
        //image/png：响应内容为png格式的图片
        //'Content-Type: image/png'：请求页面内容是png格式的图片；
        header('Content-Type: image/png');
        //以png格式将图片输送到浏览器或文件
        //imagepng($image,"test.png");
        imagepng($image);
        //销毁一图片，释放资源
        imagedestroy($image);
        //echo "你好";
        exit();
    }
}